export interface ResponseData {
    "code": number,
    "message": string,
    "ok": string,
}
//提交订单接口返回的数据ts类型
export interface SubmitOrder extends ResponseData {
    data: number;
}

//订单选取数据ts类型
export interface OrderInfo {
    "id": number,
    "createTime": string,
    "updateTime": string,
    "isDeleted": number,
    "param": {
        "orderStatusString": string,
    },
    "userId": number,
    "outTradeNo": string,
    "hoscode": string,
    "hosname": string,
    "depcode": string,
    "depname": string,
    "scheduleId": string,
    "title": string,
    "reserveDate": string,
    "reserveTime": number,
    "patientId": number,
    "patientName": string,
    "patientPhone": string,
    "hosRecordId": string,
    "number": number,
    "fetchTime": string,
    "fetchAddress": string,
    "amount": number,
    "quitTime": string,
    "orderStatus": number,
};
// 定义订单接口返回的数据的ts类型
export interface OrderResponseData extends ResponseData {
    data: OrderInfo,
}

//取消订单的接口的类型-略

//获取二维码接口返回数据的类型
export interface PayInfo {
    "codeUrl": string,
    "orderId": string,
    "totalFee": number,
    "resultCode": string,
}
export interface QrCode extends ResponseData {
    data: PayInfo;
}

//查询支付结果的ts类型
export interface PayResult extends ResponseData {
    data: boolean;
}

//用户信息的数据类型
export interface UserInfo {
    "id": number,
    "createTime": string,
    "updateTime": string,
    "isDeleted": number,
    "param" :{},
    "openid": number,
    "nickName": number,
    "phone": string,
    "name": string,
    "certificatesType": string,
    "certificatesNo": string,
    "certificatesUrl": string,
    "authStatus": number,
    "status": number,
}
//获取用户信息接口返回数据的ts类型
export interface UserInfoResponseData extends ResponseData {
    data: UserInfo;
}

//代表证件类型的数据
export interface CertificateType {
    "id": number,
    "createTime": string,
    "updateTime": string,
    "isDeleted": number,
    "param": {},
    "parentId": number,
    "name": string,
    "value": string,
    "dictCode": string,
    "hasChildren": boolean,
}
export type CertificateArr = CertificateType[];
export interface CertificateTypeResponseData extends ResponseData {
    data: CertificateArr;
}

//用户认证认证携带参数的类型
export interface UserCertificateParams {
    "certificatesNo": string,
    "certificatesType": string,
    "certificatesUrl": string,
    "name": string,
}

//订单数据的类型
export interface Order {
    "id": number,
    "createTime": string,
    "updateTime": string,
    "isDeleted": number,
    "param": {
        "orderStatusString": string,
    },
    "userId": number,
    "outTradeNo": string,
    "hoscode": string,
    "hosname": string,
    "depcode": string,
    "depname": string,
    "scheduleId": null,
    "title": string,
    "reserveDate": string,
    "reserveTime": number,
    "patientId": number,
    "patientName": string,
    "patientPhone": string,
    "hosRecordId": string,
    "number": number,
    "fetchTime": string,
    "fetchAddress": string,
    "amount": number,
    "quitTime": string,
    "orderStatus": number,
}

export type Records = Order[];
//获取订单接口返回数据的类型
export interface UserOrderInfoResponseData extends ResponseData {
    data: {
        "record": Records,
        "total": number,
        "size": number,
        "current": number,
        "orders": [],
        "hitCount": boolean,
        "searchCount": boolean,
        "pages": number,
    }
}

//就诊人
export interface User {
    "id": number,
    "createTime": string,
    "updateTime": string,
    "isDeleted": number,
    "param": {
        "certificatesTypeString": string,
        "contactsCertificatesTypeString": string,
        "cityString": string,
        "fullAddress": string,
        "districtString": string,
        "provinceString": string,
    },
    "userId": number,
    "name": string,
    "certificatesType": string,
    "certificatesNo": string,
    "sex": number,
    "birthdate": string,
    "phone": string,
    "isMarry": number,
    "provinceCode": string,
    "cityCode": string,
    "districtCode": string,
    "address": string,
    "contactsName": string,
    "contactsCertificatesType": string,
    "contactsCertificatesNo": string,
    "contactsPhone": string,
    "isInsure": number,
    "cardNo": number,
    "status": string,
}
//保存全部就诊的数据类型
export type ALLUserArr = User[];
//获取全部就诊人接口返回的数据的的数据类型
export interface AllUserResponseData extends ResponseData {
    data: ALLUserArr;
}

//订单状态数据类型
export interface OrderStatu {
    "comment": string,
    "status": number,
}
//全部订单状态的类型
export type AllOrderStatusArr = OrderStatu[];
//获取全部订单状态接口返回数据的类型
export interface AllOrderStatusResponseData extends ResponseData {
    data: AllOrderStatusArr;
}

//新增和修改已有的就诊人的接口返回数据类型
export interface AddOrUpdateUser {
    id?: number,
    name: string,
    certificatesType: string,
    certificatesNo:string,
    sex: number,
    birthdate:string,
    phone:string,
    isMarry:number,
    isInsure:number,
    addressSelected:string[],
    address:string,
    contactsName:string,
    contactsCertificatesType:string,
    contactsCertificatesNo:string,
    contactsPhone:string,
}